package com.xutianpeng.disk.mybatis.flexigrid;

import java.io.Serializable;

public class PagingEntity implements Serializable {
    /**
     * 当前页码
     */
    private Integer page;
    /**
     * 每页记录数（原错误中误用pageSize，实际属性为rp）
     */
    private Integer rp;
    /**
     * 排序字段
     */
    private String sortname;
    /**
     * 排序方式（asc/desc）
     */
    private String sortorder;

    // 计算分页起始位置
    public Integer getStart() {
        if (page == null || page < 1) {
            page = 1;
        }
        if (rp == null || rp < 1) {
            rp = 10; // 默认每页10条
        }
        return (page - 1) * rp;
    }

    // Getter和Setter方法（关键：确保rp的getter存在）
    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getRp() {
        return rp;
    }

    public void setRp(Integer rp) {
        this.rp = rp;
    }

    public String getSortname() {
        return sortname;
    }

    public void setSortname(String sortname) {
        this.sortname = sortname;
    }

    public String getSortorder() {
        return sortorder;
    }

    public void setSortorder(String sortorder) {
        this.sortorder = sortorder;
    }

    /**
     * 处理分页逻辑
     */
    public void deal(Class<?> entityClass, Integer total) {
        if (total == null || total <= 0) {
            this.page = 1;
            return;
        }
        int totalPage = (total + rp - 1) / rp; // 计算总页数
        if (page > totalPage) {
            page = totalPage;
        }
    }
}